export interface IUser {
	_id: string; // 存储文档 ID（用户 ID），系统自动生成
	ali_openid?: string; // 支付宝平台openid
	apple_openid?: string; // 苹果登录openid
	avatar?: string; // 头像地址
	avatar_file?: any; // 头像文件
	comment?: string; // 备注
	dcloud_appid?: string[]; // 允许登录的客户端的appid列表
	department_id?: string[]; // 部门ID
	email?: string; // 邮箱地址
	email_confirmed?: 0 | 1; // 邮箱验证状态：0 未验证 1 已验证
	gender?: 0 | 1 | 2; // 用户性别：0 未知 1 男性 2 女性
	invite_time?: number; // 受邀时间
	inviter_uid?: string[]; // 用户全部上级邀请者
	last_login_date?: number; // 最后登录时间
	last_login_ip?: string; // 最后登录时 IP 地址
	mobile?: string; // 手机号码
	mobile_confirmed?: 0 | 1; // 手机号验证状态：0 未验证 1 已验证
	my_invite_code?: string; // 用户自身邀请码
	nickname?: string; // 用户昵称
	password?: string; // 密码，加密存储
	password_secret_version?: number; // 密码使用的passwordSecret版本
	realname_auth?: {
		auth_date?: number; // 认证通过时间
		auth_status: 0 | 1 | 2 | 3; // 认证状态：0 未认证 1 等待认证 2 认证通过 3 认证失败
		contact_email?: string; // 联系人邮箱
		contact_mobile?: string; // 联系人手机号码
		contact_person?: string; // 联系人姓名
		id_card_back?: string; // 身份证反面照 URL
		id_card_front?: string; // 身份证正面照 URL
		identity?: string; // 身份证号码/营业执照号码
		in_hand?: string; // 手持身份证照片 URL
		license?: string; // 营业执照 URL
		real_name?: string; // 真实姓名/企业名称
		type: 0 | 1; // 用户类型：0 个人用户 1 企业用户
	};
	register_date?: number; // 注册时间
	register_ip?: string; // 注册时 IP 地址
	role?: string[]; // 用户角色
	tags?: string[]; // 用户标签
	score?: number; // 用户积分
	status?: 0 | 1 | 2 | 3; // 用户状态：0 正常 1 禁用 2 审核中 3 审核拒绝
	token?: string[]; // 用户token
	username: string; // 用户名，不允许重复
	wx_openid?: {
		app?: string; // app平台微信openid
		mp?: string; // 微信小程序平台openid
		h5?: string; // 微信公众号登录openid
		web?: string; // PC页面扫码登录openid
	};
	wx_unionid?: string; // 微信unionid
	qq_openid?: {
		app?: string; // app平台QQ openid
		mp?: string; // QQ小程序平台openid
	};
	qq_unionid?: string; // QQ unionid
	huawei_openid?: string; // Huawei openid
	huawei_unionid?: string; // Huawei unionid
	third_party?: Record<string, any>; // 三方平台凭证
	identities?: Array<{
		provider: string; // 身份源
		userInfo?: any; // 三方用户信息
		openid?: string; // 三方openid
		unionid?: string; // 三方unionid
		uid?: string; // 三方uid
	}>; // 三方平台身份信息
}

export type EditUserParams = Pick<
	IUser,
	'username' | 'nickname' | 'role' | 'email' | 'mobile' | 'email' | 'status' | 'password' | 'dcloud_appid' | 'tags'
>;
export type AddUserParams = EditUserParams;
export type UpdateUserParams = EditUserParams & { _id: string };
export type GetUserParams = {
	page: number;
	pageSize: number;
};
